body {
    margin: 2em;
}

.paper {
    width: 85vw;
    box-shadow: 4px 5px 4px 2px #aaa;
    padding: 2em;
    border-style: solid;
    border-width: 1px;
    border-color: #eee;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

form.grade-form > input, form.grade-form > select {
    padding: 5px;
    font-size: 1.2em;
}

form.grade-form > select {
    min-width: 8em;
}

table {
    border-collapse: collapse;
}

table,
th,
td {
    min-width: 5em;
}

tr {
    line-height: 2;
}

tr:nth-child(even) {
    background-color: #fff;
}

tr:nth-child(odd) {
    background-color: #f2f2f2;
}

tr:first-child {
    background-color: #444;
    color: #fff;
    line-height: 2.5;
}

tr:hover:not(:first-child) {
    background-color: hsl(60 100% 85%);
}

.ctrlbar {
    display: flex;
    padding: 0 1em;
    justify-content: center;
    align-items: center;
}

.ctrlbar > .btn {
    padding: 2px 15px;
    background-color: darkcyan;
}


